<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="lib/vue-2.4.0.js"></script>
    <script src="lib/vue-router-3.0.1.js"></script>
    <style>
        .router-link-active,.myactive{
            color: red;
            font-size:30px;
        }
        .v-enter,
        .v-leave-to{
            opacity: 0;
            transform: translateX(150px);
        }
        .v-enter-active,
        .v-leave-active{
            transition: all 0.5s ease;
        }
    </style>
</head>
<body>
<div id="app">
    <!--
    .router是VueRouter的一个对象，通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实例对象，这个对象中是一个全局的对象，他包含了所有的路由包含了许多关键的对象和属性。
    .route是一个跳转的路由对象，每一个路由都会有一个route对象，是一个局部的对象，可以获取对应的name,path,params,query等
    我们可以从vue devtools中看到每个路由对象的不同
    -->
    <router-link to="login?id=10&name=zs">登录</router-link>
    <router-link to="register">注册</router-link>

    <transition mode="out-in">
        <router-view></router-view>
    </transition>

</div>
<script>
    // 组件的模板对象
    var login = {
        template:'<h1>登录组件-----------{{$route.query.id}}------{{$route.query.name}}</h1>',
        data:function () {
            return{
                msg:'23132'
            }
        },
        created:function () {
            //全部信息
//            console.log(this.$route)
            console.log(this.$route.query.id)
        }
    }
    var register = {
        template:'<h1>注册组件</h1>'
    }

    var routerObj  = new VueRouter({
        routes:[// 路由匹配规则
            {path:'/login',component:login},
            {path:'/register',component:register}
        ],
        linkActiveClass:'myactive'

    })


    var vm = new Vue({
        el:'#app',
        data:{

        },
        methods:{

        },
        router:routerObj     // 将路由规则对象，注册到 vm 实例上，用来监听 URL 地址的变化，然后展示对应的组件
    })
</script>
</body>
</html>